Controller and method of controlling an apparatus

ABSTRACT

In the field of electronic or computerised control apparatuses, known methods of compensating for disturbance signals rely on less than ideal analytical or empirical models. There is provided a controller ( 200 ) or method of controlling which observes and learns the correlation between various measured signals and automatically learns how to control the apparatus. It has a primary input (x R ) for the measured state of the apparatus, and signal processing means ( 604, 606 ) responsive to the input signal for generating a control signal (V) to maintain the apparatus in a desired state, the controller ( 200 ) having further input(s) (X 1 , X n ) for additional measurements of the apparatus or its environment, the signal processing means using a weighted average ( 606 ) of results of different fixed impulse responses ( 611 - 615 ) to each input to modify the control signal, and means ( 630, 800, 802 ) for conditioning the response automatically in response to temporal cross-correlation observed between the measurement signal(s) and the control signal. The controller can be pre-taught with an appropriate response, or it can learn it during initial operation.

This invention relates to control methods and apparatuses, and inparticular to electronic or computerised control apparatusesincorporating predictive electronic filters.

Many types of control system are known and implemented in all manner ofconsumer and industrial machines and in industrial processes. Thesecontrol systems are invariably based on a closed loop in which a controlvariable is sensed, compared with a desired or set value to derive anerror signal, and a correction applied in response to the error signal,hopefully to drive the error to zero. The stability of the controlsystem is paramount, however, and filter functions are included in thefeedback paths implicitly or explicitly to maintain stability. Over theyears, many additional feedback and “feed-forward” mechanisms haveevolved to improve the performance of control systems, particularly intheir speed of response. However, the need for stability limits theseapproaches in a well-known manner, particularly when filter functionshave to be calculated and implemented allowing for variations andtolerances in a range of conditions.

It has been recognised that many control systems are influenced bymeasurable “disturbance” factors in the environment, which can bemeasured independently of the main control variable. Some prior attemptshave been made to include the compensation of disturbance signals withinthe control system. These are limited in their applicability, however,because they rely on analytical or empirical models of the process beingcontrolled, which are not always available, or, more importantly, arenot stable between samples, or over time. It would be desirable toprovide a control system which can observe and learn the correlationbetween various signals, and learn automatically to control theapparatus better as a result.

The goal of all electronic filters is to separate the desired signalfrom all other signal components, called noise. Predictive adaptivefilters are also known and exploit the fact that a signal is usuallychanging slowly compared to the change of the additive noise. This isdue to noise comprising all frequencies, while signals comprisepredominantly low frequencies. Initially such an adaptive filter has apre-defined setting but this setting will then continuously adapt to thechanging signal, seeking to eliminate the noise in an optimal manner.This is achieved by comparing the momentarily arriving signal to thesignal of the immediate past by means of intrinsically built inmechanism, which can be pictured as an auto-correlation. Such filtersreact to changes in the signal to adapt the filter settings accordingly.As a consequence such filters are able to predict (extrapolate) theshape of the input signal for the immediate future, with decreasingprediction reliability for increasing temporal (predictive) intervals.

One class of adaptive predictive filter is the Kalman-type filters,which are able to adapt to the characteristics of an input signal usingrecursive estimation. By such an adaptation mechanism these filtersremain optimally tuned to their respective task. Due to the extent towhich analogue electronic signals are disturbed by noise, suchpredictive adaptive filters have a broad application domain in allfields of analogue electronic signal processing, for example,telecommunication, broadcasting, radar signal processing and many more.These filters, however, rely on the self-similarity of the input signal(that is, they are optimised to respond to particular characteristics ofthe expected signal). Their aim is to preserve a maximum amount ofinformation from the input signal. Thus, the output signal is usuallyonly an improved version of the original signal derived directly fromthe input. Accordingly, the Kalman filter, although interesting initself, does not offer a solution to the problems of complex, controlsystems.

The invention provides a controller for controlling a physicalapparatus, the controller comprising first input means for receiving aprimary input signal representing a measured state of the apparatus, andsignal processing means responsive to said primary input signal forgenerating a control signal for influencing the state of the apparatusso as to maintain a desired state, the controller having at least onefurther input for a signal representing additional measurements of theapparatus or its environment, said signal processing means includingcorrecting means for including corrections in said control signal inresponse to said additional measurement signal, and means forconditioning the response of said correcting means automatically inresponse to temporal cross-correlation observed between said additionalmeasurement signal and said control signal observed during operation ofthe controller and apparatus together.

The conditioning means may comprise means for adjusting a gain andfrequency response of a signal path in the correcting means. Such anadjustment is similar to that implemented in a Kalman filter.

In a preferred embodiment, however, the correcting means comprises meansfor filtering the additional signal via a plurality of filters havingdifferent fixed impulse responses and means for forming a weighted sumof the differently filtered signals to derive the correction to beapplied, the conditioning means comprising means for adjusting theweightings of the different signal paths in response to their respectiveobserved correlation with the control signal.

The inventors refer to the correcting and conditioning means in thiscase as a cross-modal predictive filter (CMP filter). The correcting andconditioning means in this case also has similarities with thewell-known “neural network” circuits, in which cross-correlation betweendesired outputs and a set of inputs is learned from a number of samplepatterns. However, whereas the individual input signals coming fromrespective sensors as in the neural network, they are in this casesignals from the same sensor, but subject to different filter responses.By learning the pattern of correlation between these signals and thecontrol signal, the novel controller effectively learns the temporalcorrelation between the additional measurement signal and the controlsignal.

The conditioning means may be arranged to observe said correlation bymultiplying the signal of each path with a derivative of the controlsignal and integrate the product of said signals over time to derivesaid weighting. The integration may be lossy or not lossy, depending onthe whether the conditioning is to be held forever in the absence ofstimulation, or is to be allowed to decay. The integration does not needto be lossy in order for the CMP filter to be capable of adapting totemporal changes in the disturbances.

The controller may have plural additional inputs, each with associatedcorrecting means and conditioning means within the signal processingmeans.

In embodiments where the correcting means has a plurality of filters ofdifferent impulse responses, the correcting means for each additionalsignal need not all have the same number of filters, nor the same set ofimpulse responses. The number of filter paths can thus be reduced if thedesigner has some idea of the range of correlation expected.

The controller may be arranged to generate plural control signals basedon at least some of the same input signals, the signal processing meansincluding correcting means and conditioning means for generation of eachcontrol signal.

The plural correcting means may share filter components.

In embodiments arranged to generate plural control signals, a firstcontrol signal may be connected to serve as an additional measurementinput to the correcting means for generating a second control signal. Aderivative or other transformation may be applied to any of themeasurement inputs, as appropriate to the application.

The invention further provides a method of controlling a physicalapparatus, the method comprising on a continuous basis:

-   -   receiving a primary input signal representing a measured state        of the apparatus,    -   generating a control signal for influencing the state of the        apparatus in response to said primary input signal so as to        maintain a desired state; and    -   receiving at least one further input for a signal representing        additional measurements of the apparatus or its environment,    -   including corrections in said control signal in response to said        additional measurement signal, and    -   conditioning the response of said correcting means automatically        in response to temporal cross-correlation observed between said        additional measurement signal and said control signal observed        during operation of the controller and apparatus together.

The correcting step may comprise filtering the additional signal via aplurality of filter functions having different fixed impulse responses,and forming a weighted sum of the differently filtered signals to derivethe correction to be applied, the conditioning step comprising adjustingthe weightings of the different signal paths in response to theirrespective observed correlation with the control signal.

The conditioning step may begin from a zero condition, or may begin witha set of conditions learned in another apparatus.

The invention further provides a controller of the type set forth above,wherein the correcting means is replaced by one having a fixed response,but one which has been transferred from another controller which haslearned the response in operation. Whether this is practical will dependon the repeatability of the environment and the characteristics of theapparatus under control.

A further alternative is to transfer learning from one controller intoanother controller as a starting condition, the other controller thenbeing able to adjust the response of the correcting means during itscontinuing operation.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described, by way of exampleonly, with reference to the accompanying drawings, in which:

FIG. 1 is a generalised block diagram of a conventional chemicalprocessing plant, showing a typical closed loop control system;

FIG. 2 shows schematically the values of certain signals over time in atypical closed loop control system responding in a reactive manner to anexternal disturbance;

FIG. 3 shows the chemical processing plant of FIG. 1 modified with a CMPfilter-based controller performing closed loop control of the steamentering the plant based on both the input and the output parameters ofthe plant;

FIG. 4 shows the signals corresponding to those in FIG. 2, in a closedloop control system using a cross-modal predictive filter respondingdirectly to the same external disturbance after a learning phase;

FIG. 5 is a schematic block diagram of a generalised process controlsystem incorporating a CMP-filter based controller according to ageneralised embodiment of the present invention;

FIG. 6 shows in more detail a multi-stage CMP filter within the controlsystem of FIG. 5;

FIG. 7 shows response curves of a set of resonators in a CMP filter ofthe type shown in FIG. 6, when presented with a square pulse stimulus;

FIG. 8 shows in more detail a gain control circuit (GCC) associated witheach resonator in the CMP filter of FIG. 6;

FIG. 9 shows relationship between a single resonator output signalu_(i), a control signal v driving the process and its derivative v′,with respect to time;

FIG. 10 is a schematic block diagram of an alternative form of CMPfilter in which each resonator has a variable frequency response;

FIG. 11 is a schematic block circuit diagram for a robot control systemforming a more specific embodiment of the present invention;

FIG. 12 is a simulation of the path of the robot under control of thecircuit of FIG. 11 as it encounters obstacles in an environment over aperiod of time; and

FIG. 13 illustrates the learning of optimum resonator weights for onedisturbance signal within the robot circuit during the time periodrepresented in FIG. 12.

DETAILED DESCRIPTION OF THE EMBODIMENTS

This invention is not specifically limited to embodiment in eitheranalogue or digital hardware, or software. The following description isgenerally valid for either implementation, special differences beingpointed out as required. The mixture of analogue and digital circuits,and of hardware and software, which is used in a given application willdepend on many factors familiar to the skilled person. Such factorsinclude the bandwidth required for the system, the relative developmentcosts of the different solutions, and the expected scale of production.

The following descriptions of classical mechanical and chemical plantcontrol problems describe how use of a cross-modal predictive filter canbe used to provide an improved multi-modal control system which learnsfrom experience the correlations, particularly in the time domain,between multiple inputs and the desired corrections.

In a typical mechanical system comprising a controller and a mechanicalactuator, the position of the actuator will change due to internallygenerated and external (disturbing) forces. In the classical closed loopparadigm, actuator position is measured by a position-sensor, the signalfrom which is used by way of closed loop control to compensate for theinternal forces that determine the mechanical motion pattern of theactuator. If an external force (disturbance) upsets the position, thecontrol generates a signal to compensate. However, the combined inertiaof the actuator and controller induces a time lag in the compensationused to counteract that disturbance, resulting in a significant positionerror during the compensation (transition) period.

Essentially the same problems arise in industrial processes generally,for example the chemical industry.

FIG. 1 represents a typical process 102 transforming a startingsubstance I into a product P by means of a heat-controlled reaction. Asshown in FIG. 1, the starting substance normally enters the process withtemperature T1. The optimal output is reached at T2. The complete plant100 comprises control systems for maintaining the various parameters attheir optimum levels to ensure process stability. Temperature T2 is fedback as signal FB and used as the set point in a conventional closedloop controller to control the flow rate 104 via valve 106 of the steamS that heats the plant. The output temperature T2, however, will changeif T1 is fluctuating due to a disturbance, which will lead to asub-optimal situation. Known methods for overcoming these problems areby a heuristic addition of the effect of T1 to the input side of thefeed-back loop. This, however, can only be achieved if the relationbetween input and output variables are known in a deterministic way.Complex systems have been devised that address these problems, but, asdescribed earlier, these have their disadvantages in terms ofcomplexity, requirement for known models and loop instability.

FIG. 2 provides a graph showing schematically values of demanded, actualand error values (T_(D), T2 and Err respectively) during the transitionperiod of the chemical process closed loop control system, following astep change (disturbance) in the input temperature T1. T_(D) representsthe set or demand value for T2. One can observe the lag caused by theresponse time of T2 to the variation in T1, and the time it takes forthe system to adapt to the change by changing the flow rate FR of thesteam S to bring T2 back to the demand value T_(D). During thetransition period some of the process parameters will be at theirnon-optimum settings, impacting the quality of the heat controlledreaction and its resultant output.

FIG. 3 shows a modified control system in which a controller 200receives not only the output signal T2, but also receives the“disturbance” signal T1. The exact causal relationship betweenvariations in T1 and the output signal T2 is unknown when the system isdesigned and set up. However, the novel controller 200 learns by anadaptive process to correlate an initially unknown change in T1(disturbance) with the delayed change in T2. The exact implementation ofthis is not described here, but is described below with reference toFIGS. 5 to 10. Once the controller has adapted to the disturbance, atthe instant a change in T1 is observed valve 106 will be adjusted bysignal FB to alter the flow rate FR to a pre-compensating setting. Thus,the plant 100 will be capable of responding directly to the disturbancein T1, anticipating the resultant effect on T2 and consequently theerror in T2 (and its negative effect upon the process) will be greatlydiminished, as shown in FIG. 4.

In the simple example of FIGS. 1 and 3, the number of variables beingcontrolled and being measured is very small. In general terms, the noveltype of controller can be designed to compare any number of differentinput signals and, by an adaptive process, learn to predict the outputby observing the cross-correlation properties between the inputs and theoutput signal. The controller in particular can learn from itsobservations which of the numerous input signals is relevant toprediction of the output signal, and in what way. Embodiments of theinvention include a cross-modal predictive (CMP) filter built into thecontrol loop, which receives multiple inputs. After a learning period,the CMP filter will predict an output event (output signal) byresponding to the earliest occurring relevant input that consistentlyprecedes the related output signal.

The construction of the novel controller, both in general and in aspecific example, will be described below with reference to FIGS. 5 to13. Applying the novel controller firstly to the previous example of aclassical mechanical problem, the CMP filter would measure the externalforces (disturbances) and—during the adaptive process—temporallycorrelate them to the (much later occurring) position change. Once thefilter has adapted to the disturbances a position correction signal (acounter force) can be generated soon as an external force occurs,without having to wait until a lagging position-error is detected at theoutput. Thus, the system will be capable of responding immediately tothe application of an external force and the position error will begreatly diminished.

FIG. 5 shows a CMP filter-based controller 200 in a typical closed-loopconfiguration, that is, with an output demand value v fed into andadjusting the operational setting of the controlled apparatus, hererepresented by generalised plant 100. A reference signal P representingthe current actual state of plant 100 is subtracted 202 from a desired(set) value SV (which can be zero), to provide a difference or errorterm x_(R), which is fed back into the controller, where it is used todefine the output demand value, thereby “closing” the control loop. Toexploit the multi-modal capabilities of controller 200, a number ofexternal disturbance inputs x₁ . . . x_(N) are also fed into thecontroller. These are derived from sensors throughout the plant 100 andcomprise voltage time-functions of arbitrary shape.

The plant 100 has to be specified according to the actual applicationdomain, for example a force-position transformation as described in theearlier mechanical example, or a steam-heating device as described inthe earlier chemical processing plant example. The skilled person willreadily appreciate that the principles of the novel controller areapplicable in a wide range of “physical” apparatuses and systems, fromclassic machines to economic systems.

FIG. 6 shows a process control system using a very simple CMP-filterbased controller in addition to conventional error signal x_(R). Plant600 is shown emitting the conventional result signal P, and also twodisturbances x₁, x₂ disturbances. The number of disturbances is notrestricted to two. Although these are shown coming from the plant in itsbroadest sense, they are for the purpose of conventional control systemsenvironmental measurements, whose influence on the process is notexactly known. Subtraction circuit 602 receives the set value signal SVand derives the conventional error signal x_(R). Feedback filter 604(with transfer function F=h_(R)×ρ_(R)) generates from this a controlsignal contribution u_(R) which via summing circuit 606 generates thecontrol value v. This path 600, 602, 604, forms the standardproportional term reference loop of a closed loop control system, andwarrants no further description. However, the summing circuit 606permits many additional contributions to determine the control value vjointly with the conventional term besides u_(R), each from adisturbance “channel” responsive to one of the disturbance signals x₁,x₂ etc.

Each disturbance channel comprises a resonator 611-615 with fixedtransfer function h_(i) (fixed impulse response), generating arespective filtered signal u_(i) accordingly. Each signal u_(i) passesthrough a variable gain block 621-625 with gain ρ_(i) to define the(positive or negative) strength of contribution of that channel in thesumming circuit 606. Resonators 611-615 are of a form well known per se,and comprise band-pass filters, which can be implemented in analoguecircuitry as LRC-circuits (inductor, resistor, capacitor) or in digitalcircuitry as IIR (Infinite Impulse Response) or FIR (Finite ImpulseResponse) filters. Each input disturbance x_(i) is processed by at leastone resonator channel. The number of channels associated with eachdisturbance signal is not fixed, and is determined by the known shape ofthe input waveform and the desired response by the controller to it. Inthe example illustrated, signal x₁ feeds M channels, while signal x₂feeds N channels.

Completing the CMP filter section of the controller shown in FIG. 6 area differentiator 630, which receives the control output signal v, andindividual gain control circuits (GCCs) 631-635, each controlling thegain of a respective gain block 621-625. These GCCs 631-635 provide thelearning mechanism of the CMP filter, and will be described in moredetail below, with reference to FIG. 8.

FIG. 7 shows how the resonator responses (u₀, u₁, u₂ etc.) differ, usingthe example of a square pulse function as input x. For each particularchannel the characteristics of its associated resonator 611 etc. arechosen to provide a unique response to each input disturbance. Theirresonant frequencies might progress logarithmically (for example f₀,f₀/2, f₀/4 etc.).

The reader should now appreciate that, by providing a suitable set oftransfer functions h_(i) for each disturbance signal any desiredresponse can be synthesised in the summing circuit 606, by varying therelative gains ρ_(i). This, of course, assumes an infinite number ofchannels, which is not practical, and assumes that the appropriateresponse can be identified. Typically, however, fewer than tenresonators for each input would be required for an adequateapproximation, perhaps five or fewer. Furthermore, gain control circuits631-635 set the weights automatically by an adaptive process in thecourse of operation, to achieve the optimum response without advanceknowledge of the desired transfer function, as will now be described.

FIG. 8 shows more detail one of the gain control circuits 631-635 which,together, provide the “learning” mechanism of the controller. Each unit631-635 in this embodiment provides a multiplier function 800 and anintegrator function 802. Differentiator 630, shown again here forclarity, provides the derivative v′ of the control variable v as it iscontinuously output by summing circuit 606. As is well known, thederivative term provides a 90° phase-advanced version of the controlsignal, and can be regarded theoretically as a predictor of that signal.Differentiator 630 can be implemented using well known technology inanalogue form by a differentiator or digitally by subtracting successivesamples of the signal, or by a more sophisticated FIR or IIR filterfunction. Multiplier 800 multiplies together the resonator output u_(i),a damping factor μ (typically a small fraction, to avoid instability)and the derivative term v′ to derive a measure of the correlationbetween the resonator output and the derivative v′. This correlationmeasure Δρ_(i) is produced continuously (either as an analogue signal orin a digital system as a stream of discrete sample values) and isintegrated over time by integrator function 802 to adjust the actualgain ρ_(i) of the respective gain block 621-625 etc. In a digitalembodiment, the integrator function would comprise a simple numericalaccumulator.

In combination, the components hereto described provide a controllerthat (during operation in a new environment) “learns” the relationshipbetween input disturbances and their effect on the process, such thatthe response by the process to disturbances can be predicted andcompensated for in an anticipatory manner, rather than a purely reactivemanner. The operation of the CMP filter can be described by thefollowing mathematical equations.

The output, v, of the CMP filter is given as:v(t)=ρ_(R) u _(R)(t)+Σ_(t=1) ^(N)ρ_(i) u _(i)(t)   (1)where u is given by:u _(i)(t)=x _(i)(t){circle over (×)}h _(i)(t)   (2)where x is convolved with h. Functions h are the transfer functions ofresonators 611 etc given by: $\begin{matrix}{\left. {h(t)}\longleftrightarrow{H(s)} \right. = \frac{1}{\left( {s - p} \right)\left( {s - p^{*}} \right)}} & (3)\end{matrix}$where H(s) describes the resonator in Laplace notation as usual with thetwo complex/complex-conjugate parameters p and p* given by p=a+ib andp*=a−ib with: $\begin{matrix}{a = {{\frac{\pi\quad f}{Q}\quad b} = \sqrt{\left( {2\pi\quad f} \right)^{2} - a^{2}}}} & (4)\end{matrix}$where f is the resonant frequency of the relevant resonators 611-615 andQ is their damping factor. (The value of Q is approximately identical tothe number of oscillations a resonator will make in response to aδ-function input.) For the purpose of this application Q wouldpreferably be approximately 1, for example lying in the range 0.5-1.2.As discussed earlier, the frequency response depends upon the reactiontime required of the controller in a real application. If a CMP filteris used within an electronic control loop, f can be very high (kilohertzto megahertz), if used in a mechanical system f will normally be in the1-100 hertz range, if used in chemical control situations f can be inthe range of millihertz or even lower.

The process of changing the gains associated with each disturbance termx_(i) is a process of adaptation by a simple variety of neural learning.Each gain setting of the variable gain blocks 621-625 is modified by itsrespective gain control circuit (GCC) 631-635. All gain control circuits631-635 are identical (but receive different inputs). On a continuousbasis the gain setting ρ_(i) of each gain control circuit 631-635, withthe exception of the reference gain ρ_(R), is modified by the additionof small (positive or negative) values Δρ_(i), according to:ρ_(i)→ρ_(i)+Δρ_(i)   (5a)Δρ_(i)(t)=μu _(i)(t)v′(t)   (5b)where μ is small number typically in the range of 0.000001 to 0.1, whichis a damping factor applied to all variable gain blocks 621-625 toprevent too rapid gain changes, and v′(t) is the temporal derivative ofv(t) computed by the differentiator 630, which produces a signal indirect proportion and polarity to the rate of change of its inputsignal. On this basis if the control term v is falling, v′ is negativeand according to equation (5b) all gain block gain modifiers Δρ will benegative for a positive u_(i). Therefore the gain values will be failingand the influence of the disturbance signals x_(i) will be reducing.However, this is only true if the other input to equation (5b), theresonator term, is positive. The disturbance signal may be negative,which would cancel out the negative derivative signal, producing apositive influence. The polarity of the disturbance sensor signals andthe signals within the CMP filter are assigned to influence the controlloop in a converging manner, otherwise positive feedback would occur,resulting in loop instability.

FIG. 9 provides waveforms showing the relationship between v, v′ andu_(i) in a case where the particular function u_(i) is well correlatedwith a peak in the derivative v′.

As the differentiator operates on only the one term v, it does not needto be ‘physically’ present in each gain control circuit 631-635, and canexist as a common device 630 as shown in FIG. 6, feeding one result intoall channel gain control circuits 631-635. In alternativeimplementations it may be convenient to combine the differentiation stepwith the individual GCC functions. In other cases the derivativefunction may be implicit somewhere in the control system already, and anexplicit step would be omitted.

The learning process in a CMP filter based closed-loop control system isa convergent process that will stop by itself (which prevents infinitegrowth of the gains ρ), settling at the optimum values for the variousdisturbances. The reason for this is that during the process ofadaptation to one or more disturbances x_(i), the process controlvariable will adjust to counteract the disturbances x_(i), and, thustheir relative effect will gradually diminish. As a consequence theeffect of the disturbances x_(i) is gradually removed from the processand the gain value(s) ρ_(i) for each particular disturbance responseu_(i) will settle at its optimum value. Adaptation will continue when achange occurs in a disturbance that is not fully compensated for by thecurrent setting of its associated gain value. The damping factor μ(which need not be the same for each disturbance) effectively sets thenumber of coincidences that have to be observed in order to constitute adefinite correlation.

FIG. 10 shows a block diagram of a modified CMP filter, whereby in placeof multiple fixed resonators, one or more Resonator Response ControlCircuits (RRCC) 1000 adjust for disturbance x₁ the frequency responseswithin variable-response resonators 1010, 1020. Primarily this willinvolve adjusting the resonant frequency, but in principle the Q factorcould also be adjusted. The disturbance channel for disturbance x₂comprising variable resonators, variable gain blocks 623 to 625 and gaincontrol circuits 633 to 635 are not shown in this detail. The rest ofthe components of the CMP filter shown in FIG. 10, such as conventionalblock 604, summation device 606 and differentiator 630, can operate inthe same manner as for the CMP filter of FIG. 6 and therefore warrant nofurther description.

Using variable-response resonators 1010, 1020 provides the advantage ofreducing the number of resonators required to correlate disturbancesx_(i) with the process control term v. Instead of requiring a largequantity of resonators, such as ten, per disturbance the same effect canbe achieved using preferably no more than two variable responseresonators per disturbance, a disadvantage being that, in addition toincreased circuit complexity, the learning process is slightly extendedas the variable resonators also have to adjust to match thedisturbances. Care must also be taken to preserve control loopstability.

Each Resonator Response Control Circuit (RRCC) 1000 works in thefollowing manner. An indicator of the correlation success for eachdisturbance is the magnitude of the weight terms from each Gain ControlCircuit (GCC) 631, 632. These are used, in co-operation with the outputfrom each channel's resonator u_(i) and the derivative of the processterm v′, to modify the frequency response of each variable-responseresonator 1010, 1020 in order to maximise the magnitude of the weightterms at the optimum correlation of disturbance to process term v. Ifmore than one variable-response resonator 1010, 1020 is being used perdisturbance signal x_(i,), as shown in the example of FIG. 10, then theRRCC (1000) assesses all relevant signals associated with thedisturbance to adjust the frequency response of all of the resonatorsassociated with that particular disturbance. Different responses will bechosen for the resonators associated with each disturbance to maximisethe correlation windows during the initial periods of learning, with thewindows narrowing as learning progresses and optimum settings areachieved.

FIG. 11 presents a practical example of a controller for a moving robot1100, in order to demonstrate the functionality of this invention. Forenvironment sensors the robot employs bump sensors 1102(FL), 1102(FR),1102(BL), 1102(BR), one on each corner, and three visual range sensors,one forward-looking sensor 1104(F) and the other two front cornerlooking sensors 1106(FL), 1106(FR). Sensor suffixes L, R, F, B, usedindividually or in combination, respectively denote “left”, “right”,“front” and “back”.

In this example a more complex CMP filter-based controller is adopted inthe robot control system, whereupon there are two closed loop controlsystems (φ), (s), that do not operate in isolation, but are closelycoupled to one another. There comprises a control loop effectingtraction control with output s (speed—within the rangeforwards/stop/backwards), and a control loop effecting steering controlwith output φ (within the range left/straight-on/right).

The control system comprises similar components as for previousexamples: for each visual (range) disturbance there are correspondingbanks of resonators 1108 etc. (in this particular example they are fixedresponse, but could be variable-response using fewer weights), for eachphysical (bump) disturbance there are corresponding fixed-responsefilters 1110(L), 1110(R), 1110(F), 1110(B), Gain Control Circuits1112(φ), 1112(s) etc. and summation devices 1114(φ), 1114(s). Thecontroller also comprises an additional derivative block f′ 1116 and abiasing means 1118, the operation of which is described later. Thevariable gain blocks 621 of FIG. 6 exist in the robot controller,depicted as a large arrow crossing the bus of the weighted outputs ofeach resonator bank 1108 etc., as they are input to the summationdevices 1114(φ), 1114(s). Bandpass filters 1110(L), 1110(R), 1110(F),1110(B), are analogous to the fixed-response blocks 604 of FIG. 6processing x_(R). Resonators 1108 etc., GCCs 1112(φ), 1112(s) etc. andthe gain blocks are analogous to the resonators 611 etc., GCCs 631 etc.and variable gain blocks 621 etc. of FIG. 6 processing disturbancesignals x₁,x₂, etc. Three representative channels with responses f, f/2,f/N are shown for each disturbance.

It is readily apparent that the ‘circuit’ shown could be implementedentirely in digital form or entirely in analogue form, in any mix ofthese, and in any mixture of hardware and software, as appropriate.

During its initial negotiation of any obstacles the robot 1100 willinitially use its bump sensors 1102 to inform the control system of theboundaries in which it is operating, using reverse and steering tonegotiate past each obstacle. The visual range sensors 1104(F),1106(FL), 1106(FR), potentially inform the control system of an imminentcollision, but the control system initially will not have learnt theassociation between the visual stimuli and a bump signal that occurstemporally slightly later. Once the CMP-filter has learnt that arelationship exists between the two, the robot closed loop controlsystem will be capable of modifying the control paths associated withtraction s and especially steering φ by the direct influence of thevisual sensors 1104(F), 1106(FL), 1106(FR), steering the robot 1100 awayfrom an obstacle before it hits it.

The signal from each bump sensor 1102(FL), 1102(FR), 1102(BL), 1102(BR),is fed into both control loops. The front bump sensors 1102(FL),1102(FR) are coupled together as a negative signal into the speed (s)control loop for reverse speed control and the back bump sensors1102(BL), 1102(BR) are coupled together as a positive signal into thespeed (s) control loop for forward speed control. An additional biasingmeans 1118 is fed into the same speed (s) control loop to set a non-zerospeed so that an stimulated robot moves at a constant forward speeduntil it receives a signal from an environment sensor 1102(FL),1102(FR), 1102(BL), 1102(BR), 1104(F), 1106(FL), 1106(FR). In the samemanner as for speed control, the right-hand side bump sensors 1102(FR),1102(BR) are coupled together as a negative signal into the steering (φ)control loop for left direction control and the left-hand side bumpsensors 1102(FL), 1102(BL) are coupled together as a positive signalinto the steering (φ) control loop for right direction control. Anunstimulated robot will move straight-ahead until it receives a signalfrom an environment sensor. It will be appreciated that a robot having areal job to do will be given additional stimuli to indicate desiredchanges in speed and direction, which will influence the controller incombination with the sensor inputs illustrated here. In the presentapplication, the resonators for the bump sensor signals are given arelatively low Q, such as 0.6, to provide high damping and avoid“overshoot” in their response (after a bump the robot should reverse,and not oscillate back and forward).

The forward, left and right looking range sensors 1104(F), 1106(FL),1106(FR) are fed into their own dedicated banks of resonators 1108 whoseoutputs feed into both control loops s, φ. Finally, control loopcross-coupling is achieved by taking each output control variable s andφ (from the summation devices) and feeding it respectively into a bankof resonators feeding into the other control loop. In the case of thespeed control influencing the steering (φ) control, its derivative f′ isfirst taken to remove the offset from the speed constant bias 1112.Without control loop cross-coupling the CMP filter would not be able torelate a change in speed with a change in direction and a change indirection with a change in speed. This ensures that when reversing therobot modifies its steering to traverse in a tight arc away from anobstacle it has just collided with until the visual sensor indicatesthat it no longer sees the obstacle, and to also ensure that the speedis reduced when performing tight steering arcs.

Ideally the visual sensors will always be able to steer the robot awayfrom obstacles, and the bump sensors would therefore never be activated,but in reality the robot will still have the potential to get intosituations that it cannot steer out of. In these cases the bump sensors1102 will still be required, but more as a secondary sensor, rather thanthe primary sensor they were at the beginning of the learning process.Some typical situations might be driving into a darkened dead-endpassage, or when reversing and hitting an obstacle (there are noreversing visual sensors in this example, although the skilled readerwill appreciate that this could be achieved with the addition of furthersensor and control terms).

Traditionally, in order to negotiate obstacles the robot would have hadto have been taught various parameters relating to the environment. Thepresent invention only needs to be configured with control loopparameters that ensure that the control of the robot is smooth, such asresonator responses that are tailored to the visual sensor outputs. Noneof the parameters are environmental, but associated with the design ofthe robot. They are only set at the point of design of the robot andneed no further adjustment. In contrast, a traditional robot would needto be taught new parameters associated with every new environment inwhich it has to operate. The novel controller would allow a robot to beplaced in differing environments without needing any adjustment, andalso adapts its response as the mechanism of the robot wears, or thenature of the environment changes.

Referring to FIG. 12, one can see the robot (simulated here on acomputer) traversing a “maze” full of obstacles, starting at point ‘0’and finishing at ‘11000’ (time steps, of arbitrary value). As the robotnegotiates obstacles, the CMP filters adjust to provide a relationshipbetween visual sensing, steering and speed. One can see that the numberof collisions gradually reduces, to the point that the robot manages totraverse long distances without any collisions, in particular from thetop-left corner (time stops 7900-8900) to the end point. Small steeringcorrections can be seen where the visual sensor has indicated animpending collision, causing the steering loop to adjust in advance,steering the robot away from the obstacle. In the lower-left corner,where the result of learning is most noticeable, the outward path islabelled OUT and the return path, later in time, is labelled RTN. Uponclose inspection one can see that the robot is considerably more capableof steering without bumping into obstacles after the period 7900-8900spent in the top left-hand corner. This is due to the amount of learningthe control system has achieved during that period, as the robot has hadto bump a large number of obstacles to be able to steer out of thecorner.

Referring to FIG. 13, one can observe the rate of change in resonatorweightings is significantly higher during the robot's period 7900-8900in the corner than at any other time during its journey. This shows aset of ten weightings ρ_(i) for ten resonators associated with theleft-hand range sensor 1106(FL) as it affects the steering controlvariable φ. Considering all sensors and the cross-correlation pathsbetween φ and s, it will be appreciated that the example circuit as awhole might employ 5×50=50 resonators 1108 and 8×10=80 individual GainControl Circuits (GCCs) 1112(φ), 1112(s) etc. One can also observe thatthe weightings continue to alter slowly after step 9000, even when thereare no collisions. This is the learned mutual influence of the outputsfrom solely the visual sensors, adjusting the weightings to theiroptimum settings.

The sensors used to effect environmental sensing could equally well beprovided using different sensor technologies, such as ultrasonic rangesensors, image processing visual sensors, radiation sensors,electromagnetic field sensors, radar sensors etc, the method by whichthe robot senses its environment not being essential to the novelinvention.

The methodology used to effect robot control could equally well beutilised in other applications, such as a chemical plant where, forexample, the disturbance signals are pressure and temperature and thecontrol terms are flow rate and heat control.

The method by which the CMP filter-based robot achieves optimisedweights associated with each disturbance is not restricted to a“learning” process. The “learning” may have been achieved by anotherrobot and the “learnt” parameters passed over as a stating condition toan “unlearnt” robot, such that the “unlearnt” robot can immediatelynegotiate, a “maze” of obstacles. The CMP-based filter robot may becapable of further adapting the weights associated with each disturbanceas time progresses to allow the robot to adapt to changes such as adifferent environment or physical degradation, or may employ fixedweights as a lower cost solution, at the expense of loss of adaptabilityto changing environments or physical degradation of the robot.

The skilled reader will appreciate that numerous variations are possiblewithin the principles of the apparatus described above. More or fewerstrategies may be tried, and variation on each can be provided withinthe rule sets.

Accordingly it will be understood that the embodiments illustratedherein are presented as examples to aid understanding, and are notintended to be limiting on the spirit or scope of the invention claimed.

1. A controller for controlling a physical apparatus, the controller comprising first input means for receiving a primary input signal representing a measured state of the apparatus, and signal processing means responsive to said primary input signal for generating a control signal for influencing the state of the apparatus so as to maintain a desired state, the controller having at least one further input for a signal representing additional measurements of the apparatus or its environment, said signal processing means including correcting means for including corrections in said control signal in response to said additional measurement signal, and means for conditioning the response of said correcting means automatically in response to temporal cross-correlation observed between said additional measurement signal and said control signal observed during operation of the controller and apparatus together.
 2. A controller as claimed in claim 1, wherein the conditioning means comprises means for adjusting a gain and frequency response of a signal path in the correcting means.
 3. A controller as claimed in claim 1, wherein the correcting means comprises means for filtering the additional signal via a plurality of filters having different fixed impulse responses and means for forming a weighted sum of the differently filtered signals to derive the correction to be applied, the conditioning means comprising means for adjusting the weightings of the different signal paths in response to their respective observed correlation with the control signal.
 4. A controller as claimed in claim 1, wherein the conditioning means is arranged to observe said correlation by multiplying the signal of each path with a derivative of the control signal and to integrate the product of said signals over time to derive said weighting.
 5. A controller as claimed in claim 4, wherein said integration is capable of being held at a fixed value such that said conditioning is maintained in the absence of stimulation.
 6. A controller as claimed in claim 1 having a plurality of additional inputs, each said input having associated correcting means and conditioning means within the signal processing means.
 7. A controller as claimed in claim 6, wherein different quantities of filters are used by each said correcting means.
 8. A controller as claimed in claim 6, wherein different filter responses are used by each said correcting means.
 9. A controller as claimed in claim 1 arranged to generate plural control signals based on at least some of the same input signals, the signal processing means including correcting means and conditioning means for generation of each control signal.
 10. A controller as claimed in claim 9, wherein a first control signal is connected to serve as an additional measurement input to a correcting means for generating a second control signal.
 11. A controller as claimed in claim 10, wherein a derivative or other transformation is applied to at least one of said measurement inputs as a preliminary processing step.
 12. A controller as claimed in claim 1, wherein plural correcting means share filter components.
 13. A controller substantially as claimed in claim 1, wherein the correcting means is replaced by one having a fixed response, which has been transferred from another controller which has learned said fixed response in operation.
 14. A controller as claimed in claim 1, wherein a non-zero response has been set in the correcting means as a starting condition, said controller then being capable of adjusting the response of the correcting means during its continuing operation.
 15. A method of controlling a physical apparatus, the method comprising on a continuous basis: receiving a primary input signal representing a measured state of the apparatus; generating a control signal for influencing the state of the apparatus in response to said primary input signal so as to maintain a desired state; receiving at least one further input for a signal representing additional measurements of the apparatus or its environment; including corrections in said control signal in response to said additional measurement signal; and conditioning the response of said correcting means automatically in response to temporal cross-correlation observed between said additional measurement signal and said control signal observed during operation of the controller and apparatus together.
 16. A method as claimed in claim 15, wherein said correcting step comprises filtering the additional signal via a plurality of filter functions having different fixed impulse responses, and forming a weighted sum of the differently filtered signals to derive the correction to be applied, the conditioning step comprising adjusting the weightings of the different signal paths in response to their respective observed correlation with the control signal.
 17. A method as claimed in claim 15, wherein the conditioning step begins from a zero condition.
 18. A method as claimed in claim 15, wherein the conditioning step begins with a non-zero set of conditions.
 19. A method as claimed in claim 18, wherein the conditioning step begins with a non-zero set of conditions learned in another apparatus. 